/*
 *   Copyright 2020 Huawei Technologies Co., Ltd.
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 *
 */

/**
 * NOTE: This class is auto generated by the swagger code generator program (2.4.14).
 * https://github.com/swagger-api/swagger-codegen
 * Do not edit the class manually.
 */

package org.mec.emulator.api;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import javax.validation.Valid;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2020-06-05T02:11:06.510Z")

@Api(value = "zones", description = "the zones API")
@RequestMapping(value = "/mep/location/v1")
public interface ZonesApi {

    @ApiOperation(value = "", nickname = "zonesByIdGetAps", notes = "获取与请求中的属性匹配的接入点集合。", response = Object.class,
        tags = {"zones",})
    @ApiResponses(value = {
        @ApiResponse(code = 200, message = "Successful response to a query a named set of access point status request",
            response = Object.class)
    })
    @RequestMapping(value = "/zones/{zoneId}/accessPoints", produces = {"application/json"},
        consumes = {"application/json"}, method = RequestMethod.GET)
    ResponseEntity<Object> zonesByIdGetAps(
        @ApiParam(value = "Zone ID", required = true) @PathVariable("zoneId") String zoneId,
        @ApiParam(value = "Interest realm of access point (e.g. geographical area, a type of industry etc.).") @Valid
        @RequestParam(value = "interestRealm", required = false) String interestRealm);

    @ApiOperation(value = "", nickname = "zonesByIdGetApsById", notes = "获取指定接入点的详细信息", response = Object.class,
        tags = {"zones",})
    @ApiResponses(value = {
        @ApiResponse(code = 200, message = "Successful response to a query a named set of access point status request",
            response = Object.class)
    })
    @RequestMapping(value = "/zones/{zoneId}/accessPoints/{accessPointId}", produces = {"application/json"},
        consumes = {"application/json"}, method = RequestMethod.GET)
    ResponseEntity<Object> zonesByIdGetApsById(
        @ApiParam(value = "Zone ID", required = true) @PathVariable("zoneId") String zoneId,
        @ApiParam(value = "Access Point ID", required = true) @PathVariable("accessPointId") String accessPointId);

    @ApiOperation(value = "", nickname = "zonesGet", notes = "获取地域信息列表", response = Object.class, tags = {"zones",})
    @ApiResponses(value = {
        @ApiResponse(code = 200, message = "Successful response to a query regarding the status of a zone",
            response = Object.class)
    })
    @RequestMapping(value = "/zones", produces = {"application/json"}, consumes = {"application/json"},
        method = RequestMethod.GET)
    ResponseEntity<Object> zonesGet();

    @ApiOperation(value = "", nickname = "zonesGetById", notes = "获取指定地域的信息", response = Object.class,
        tags = {"zones",})
    @ApiResponses(value = {
        @ApiResponse(code = 200, message = "Successful response to a query regarding the status of a zone",
            response = Object.class)
    })
    @RequestMapping(value = "/zones/{zoneId}", produces = {"application/json"}, consumes = {"application/json"},
        method = RequestMethod.GET)
    ResponseEntity<Object> zonesGetById(
        @ApiParam(value = "Zone ID", required = true) @PathVariable("zoneId") String zoneId);

}
